#region "ConfigurationSectionGroupResult"

/*
 * ####     Developer Name : Wang Yucai
 * 
 * ####     Development Tool : Microsoft VisualStudio 2010 Ultimate Edition
 * 
 * ####     Create Time : 2014-07-11 11:12:55
 * 
 * ####     Namespace : Masterduner.SourceStudio.Practices.DevelopmentLibrary.Configuration
 * 
 * ####     Type Name : ConfigurationSectionGroupResult
 * 
 * ####     Full Name : Masterduner.SourceStudio.Practices.DevelopmentLibrary.Configuration.ConfigurationSectionGroupResult
 * 
 * ####     Machine Name : GLCHQWYCWINW7
 * 
 * ####     UserName : GUOCOLAND/wangyucai
 * 
 * ####     CLR Version : 4.0.30319.18444
 * 
 * ####     Target Framework Version : 4.0
 */

#endregion

using System.Configuration;

namespace Masterduner.SourceStudio.Practices.DevelopmentLibrary.Configuration
{
    /// <summary>
    /// <para>Masterduner.SourceStudio.Practices.DevelopmentLibrary.Configuration.ConfigurationSectionGroupResult</para>
    /// <para>
    /// 提供了访问配置节（组）结果的方法。
    /// </para>
    /// </summary>
    /// <typeparam name="TSectionGroup">继承自<see cref="ConfigurationSectionGroup"/>的类型。</typeparam>
    /// <remarks>
    /// <para>Target Framework Version : 4.0</para>
    /// </remarks>
    public class ConfigurationSectionGroupResult<TSectionGroup>
        where TSectionGroup : ConfigurationSectionGroup
    {
        private TSectionGroup _configurationSectionGroupInAppConfig;
        private TSectionGroup _configurationSectionGroupInDevLibConfig;
        private TSectionGroup _configurationSectionGroupInUserConfig;
        private string _sectionGroupName;

        #region ConfigurationSectionGroupInAppConfig
        /// <summary>
        /// 设置或获取配置在app.config文件中的配置节组对象实例。
        /// </summary>
        public virtual TSectionGroup ConfigurationSectionGroupInAppConfig
        {
            get { return _configurationSectionGroupInAppConfig; }
            set { _configurationSectionGroupInAppConfig = value; }
        }
        #endregion

        #region ConfigurationSectionGroupInDevLibConfig
        /// <summary>
        /// 设置或获取配置在开发库配置文件中的配置节组对象实例。
        /// </summary>
        public virtual TSectionGroup ConfigurationSectionGroupInDevLibConfig
        {
            get { return _configurationSectionGroupInDevLibConfig; }
            set { _configurationSectionGroupInDevLibConfig = value; }
        }
        #endregion

        #region ConfigurationSectionGroupInUserConfig
        /// <summary>
        /// 设置或获取配置用户自定义配置文件中的配置节组对象实例。
        /// </summary>
        public virtual TSectionGroup ConfigurationSectionGroupInUserConfig
        {
            get { return _configurationSectionGroupInUserConfig; }
            set { _configurationSectionGroupInUserConfig = value; }
        }
        #endregion

        #region SectionGroupName
        /// <summary>
        /// 获取配置节组名称。
        /// </summary>
        public virtual string SectionGroupName
        {
            get { return _sectionGroupName; }
            protected set { _sectionGroupName = value; }
        }
        #endregion

        #region Constructor

        /// <summary>
        /// <para>构造函数：</para>
        /// <para>初始化一个<see cref="ConfigurationSectionGroupResult{T}" />对象实例。</para>
        /// </summary>
        /// <param name="sectionGroupName">配置节组名称。</param>
        public ConfigurationSectionGroupResult(string sectionGroupName)
        {
            this.SectionGroupName = sectionGroupName;
        }

        #endregion
    }
}

#region README

/*
 * ####     ©2014 Wang Yucai
 * 
 * ####     Contact me
 *                  
 *                  E-mail : Masterduner@Yeah.net
 *                  Mobile : 13621384677
 *                  QQ : 180261899
 */

#endregion